In recent years, vehicles such as hybrid, electric, and fuel cell vehicles have become increasingly popular. This has led to the development of a number of propulsion system architectures that are employed in such vehicles. A propulsion system of a vehicle includes various hardware components that are involved in propulsion of the vehicle including wheel/corners of the vehicle, motors, energy sources, energy, resistive energy dissipaters, voltage converters, power distribution units, etc.
Each particular type of propulsion system has a configuration that is defined by a number of hardware components and their relative location within that particular propulsion system architecture. The configuration of a particular propulsion system can vary widely. For example, the number of motors, energy sources, etc. in a particular propulsion system, as well as their configuration and location, can be different in each propulsion system architecture. In addition, new propulsion system architectures are currently being be developed.
Hybrid, electric, and fuel cell vehicles include one or more electric motors that are supplied with power via one or more energy sources, such as batteries, fuel cells, etc. One of the challenges in the development of such vehicles involves efficient use of energy source(s) that are available in a particular vehicle. As such, these vehicles typically include control systems that use control software to configure, manage and control the vehicle's propulsion system components as well as the use of its energy source(s) by those components. This control software includes power and/or energy control software.
For a particular propulsion system configuration, custom control software is written and developed that is designed to work in conjunction with that particular propulsion system configuration. The control software is designed to support a specific propulsion system architecture, and to the extent it needs to be applied to a different propulsion system architecture, then it must be re-written, re-compiled and/or re-verified to account for architectural features of a particular propulsion system architecture. Software development is time consuming, and requires expenditure of substantial resources (e.g., time, money, effort, etc.).
As the number of different propulsion system configurations continues to increase, the burden on vehicle manufacturers increases since they must develop custom control software that is designed for each one of the particular propulsion system architectures.